package van.planifolia.lambda;

/**
 * Created by Intellij IDEA<br>
 *
 * @author Planifolia.Van
 * @version 1.0
 * @date 2022/11/3 17:15
 */
public class Lambda2 {
    public static void main(String[] args) {
        // 显然我们要执行这个方法必须要传入一个接口类型的对象，并且这个接口是函数式接口符合使用lambda表达式的前提
        // 并且是作为无参数无返回值的函数式接口，而且实现方法中只有一句表达式，直接可以省略了{}
        test(()-> System.out.println("你好世界"));
    }

    /**
     * 通常我们在使用匿名内部类的时候大多都是有这样一个方法要求我们传入一个接口类型的对象
     * @param sout Sout接口对象
     */
    public static void test(Sout sout){
        sout.print();
    }
}
/**
 * 创建一个函数式接口，来做创建匿名内部类前提。
 */
@FunctionalInterface
interface Sout{
    void print();
}